Traditionally, the client-server service model has been used to provide streaming service. A client sends a request to a server, which then streams the content to the client if the server has enough resources to serve the client's request and there is enough bandwidth along the path between the server and the client.
Due to the limited computation and storage resource at the server and limited bandwidth in the network connecting the server and clients, scalability has been an issue with client-server streaming service. Recently, peer-to-peer techniques have been introduced into streaming service. Peers are implemented with the capabilities of clients and servers and contribute to alleviate the workload imposed on the server and distribute the bandwidth requirements across the network by actively caching the content and serving other peers. Studies have shown that peer-to-peer techniques greatly improve system scalability, enabling the system to serve many much more users.
There have been significant efforts to address the scalability issue presented in streaming media service using peer-to-peer networking. These efforts can be classified into two categories notably peer-to-peer live streaming and peer-to-peer stored video streaming or video-on-demand. While both services strive to support a large number of users using peer-to-peer technology while offering users good viewing quality, they also face different technical challenges. In peer-to-peer live streaming, minimizing the start-up delay without sacrificing the system scalability is the challenge. In peer-to-peer video-on-demand service, allowing asynchronous users to share is the challenge.
Peer-to-peer streaming schemes also distinguish themselves by the different data dissemination techniques. Two data dissemination methods have been investigated—notably the overlay-based approach and the data-driven approach. In the overlay-based approach, the peers form a mesh or tree structure where parent-child relationships are formed among the peers. A child peer receives data from its parent. In contrast, the peers in the data-driven approach do not have fixed parent-child relationships. The peers look for the missing data, and retrieve the missing data wherever available. While the overlay-based approach is widely used in early peer-to-peer efforts, the data-driven approach is becoming more popular since it addresses the churn and asymmetric bandwidth problem effectively.
While most of the prior art efforts exhibit good scalability and support a greater number of users compared to a traditional client-server service model, the prior art schemes are best-effort in nature and the support of system performance requirements has not, been fully investigated.